package comportement;


import cartes.Carte;
import cartes.Monstre;
import cartes.Objet;
import common.Constantes;
import java.io.Serializable;
import plateau.Joueur;

 public class Voleur implements ActionClasse, Serializable{
     public int actionUtiliser = 0;

    // Poignarder:  Peut défausser une carte pour poignarder un joueur dans le dos (-2), on peut le faire
     // qu'une fois par combat et par victime. si deux joueurs combattent ensemble, les deux sont touchés.

     // Vol à la tire:  on peut défausser une carte pour voler un petit objet d'un autre joueur. Le voleur lance le dé
     //si c'est 4 ou plus, il vole la carte, sinon il perd un niveau.

     /*
      Définit l'action de la classe Pretre: peut défausser jusqu'à 3
      cartes durant un combat, chacune donne un bonus de 1
      @param : /
      @return : /
      @author : Ophélie
     */


     // poignarder
    public void action(Joueur j, Monstre monstre, Joueur j2, Carte objet) {
        // vérification que l'action a été utilisé qu'une fois lors du combat
       
        //défausse une carte
            j.defausserCarteMain(objet);
                           
        //poignarde le joueur (-2)
            j2.upNiveau(-2, Boolean.TRUE);
                        
            this.actionUtiliser ++;
        }
        
            
     


    //vol à la tire
    public void action1(Joueur j, Monstre monstre, Joueur j2, Carte objet) {
         Carte maCarte = null;

         System.out.println("Choisissez la carte à défausser");
         //Affichage de la carte et choix

         //
         int de = 0;
         //lancé du dé

         de= (int) (Math.floor(Math.random() * 6) + 1);

         if (de >= 4){
             
            //Si l'objet du joueur 2 est bien de type OBJET et qu'il est petit
            if (objet.getClass().getName().equals(Constantes.C_OBJET)) {
                // L'objet est du type (partie du corps) correspondant
                if (((Objet) objet).gros != true) {
                    //défausse de la carte au joueur 2 et ajout au voleur
                     j2.defausserCarteMain(objet);
                     j.getMain().add(objet);

                }
            }
        }           
         else //perte d'un niveau
         {
             j.upNiveau(-1, Boolean.TRUE);
         }

    }
}